1. 配置 devcontainer.json
Vscode生成版本魔改
// For format details, see https://aka.ms/devcontainer.json. For config options, see the
// README at: https://github.com/devcontainers/templates/tree/main/src/java
{
"name": "Jame",
// Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile
"image": "mcr.microsoft.com/devcontainers/java:1-21-bullseye",
"features": {
"ghcr.io/devcontainers/features/java:1": {
"version": "21",
"installMaven": "true",
"installGradle": "false"
},
"ghcr.io/itsmechlark/features/redis-server:1": {}
},
// Use 'forwardPorts' to make a list of ports inside the container available locally.
"forwardPorts": [
8080,
6379
],
// Use 'postCreateCommand' to run commands after the container is created.
// "postCreateCommand": [
// "java -version",
// "mvn clean install",
// "echo 'Redis, MySQL, and Java environment are ready!'"
// ],
// Configure tool-specific properties.
// 配置工具特定属性
"customizations": {
"vscode": {
"extensions": [
"vscjava.vscode-java-pack", // Java 扩展包
"redhat.vscode-redis" // Redis 扩展
]
}
},
// Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root.
// "remoteUser": "root",
// 配置环境变量(用于 MySQL 连接)
"containerEnv": {
"MYSQL_HOST": "192.168.8.251",
"MYSQL_PORT": "3306",
"MYSQL_DATABASE": "jame",
"MYSQL_USER": "jame",
"MYSQL_PASSWORD": "jame"
}
}
OpenJdk 手搓
- 在你的项目根目录下创建一个
.devcontainer文件夹。 - 在
.devcontainer文件夹中创建Dockerfile和devcontainer.json文件。
# 使用官方的 Java 21 镜像,系统为fedora,不想使用rpm的或是想使用debian切换21-jdk-bookworm
FROM openjdk:21-jdk
# 安装 Maven
RUN apt-get update && apt-get install -y maven
# 设置工作目录
WORKDIR /workspace
# 复制项目文件
COPY . .
# 运行指令
RUN mvn clean install
{
"name": "jame",
"context": ".",
"dockerFile": "Dockerfile",
// "appPort": ["18080:8080"],
"customizations": {
"vscode": {
"extensions": [
"vscjava.vscode-java-pack",
"redhat.vscode-yaml",
"redhat.vscode-redis"
],
"settings": {
"terminal.integrated.shell.linux": "/bin/bash"
}
}
},
// "runArgs": ["--init", "docker-entrypoint.sh"],
// "runArgs": ["--name jame-backend"],
"forwardPorts": [8080],
// "postCreateCommand": "mvn clean install",
"containerEnv": {
"DATASOURCE_URL": "jdbc:mysql://192.168.8.251:3306/jame",
"DATASOURCE_USERNAME": "jame",
"DATASOURCE_PASSWORD": "jame",
"REDIS_HOST": "192.168.8.252:6379"
}
}
2. 生成项目文件
2.1 Spring Boot项目
直接拉取spring-boot-starter文件
curl https://start.spring.io/starter.zip -o java-project.zip
unzip java-project.zip -d java-project
cd java-project
或者安装插件Spring Boot Extension Pack,打开控制台选择Spring Initializr,根据指示设置项目,也可打开资源管理器新建。